package leetcode_600;

import java.util.Stack;

/**
 *@author 周杨
 *Base7_504 取一个数以7为基数结果的字符串
 *describe:用栈 AC 10%
 *2018年9月6日 上午9:22:27
 */
public class Base7_504 {
	
	/**
	 * describe:AC 100%
	 * 2018年9月6日 上午9:21:45
	 */
	public String convertToBase7(int num) {
	        return Integer.toString(num, 7);
	}
	
	/**
	 * describe: 用栈 也可以直接用stringbuilder的insert方法 AC 10%
	 * 2018年9月6日 上午9:21:13
	 */
	public String convertToBase7_(int num) {
		if(num==0)
	           return "0";
		boolean flag=num<0?false:true;
		num=Math.abs(num);
        StringBuilder sb=new StringBuilder();
        Stack<Integer> stack=new Stack<Integer>();
        while(num!=0) {
        	stack.push(num%7);
        	num/=7;
        }
        while(!stack.isEmpty()) {
        	sb.append(stack.pop());
        }
        return flag?sb.toString():"-"+sb.toString();
    }
}
